//
// Created by hkkzzxz on 24-9-2.
//

#ifndef YUNSHI_EMPLOYEECONTROLLER_H
#define YUNSHI_EMPLOYEECONTROLLER_H

// 员工策略类

#include "BaseController.h"

class EmployeeController : public BaseController {
public:
    // 员工注册
    void employeeRegister(std::string &uuid, http::request<http::dynamic_body> &httpRequest,
                          http::response<http::dynamic_body> &httpResponse);

    // 忘记密码重置密码
    void forgetPassword(std::string &data, http::request<http::dynamic_body> &httpRequest,
                        http::response<http::dynamic_body> &httpResponse);

    // 修改手机号码
    void modifyPhoneNumber(std::string &id, http::request<http::dynamic_body> &httpRequest,
                           http::response<http::dynamic_body> &httpResponse);

    // 修改密码
    void modifyPassword(std::string &id, http::request<http::dynamic_body> &httpRequest,
                        http::response<http::dynamic_body> &httpResponse);

    // 生成指纹ID
    void generateFingerprintID(std::string &data, http::request<http::dynamic_body> &httpRequest,
                               http::response<http::dynamic_body> &httpResponse);

    // 指纹考勤
    void fingerprintAttendance(std::string &data, http::request<http::dynamic_body> &httpRequest,
                               http::response<http::dynamic_body> &httpResponse);

    // 上传人脸考勤照片
    void uploadAttendancePhoto(std::string &id, http::request<http::dynamic_body> &httpRequest,
                               http::response<http::dynamic_body> &httpResponse);

    // 人脸考勤
    void facialAttendance(std::string &data, http::request<http::dynamic_body> &httpRequest,
                          http::response<http::dynamic_body> &httpResponse);

    // 查询今日考勤情况
    void checkTodayAttendance(std::string &id, http::request<http::dynamic_body> &httpRequest,
                              http::response<http::dynamic_body> &httpResponse);

    // 查询所有考勤情况
    void checkAttendance(std::string &id, http::request<http::dynamic_body> &httpRequest,
                         http::response<http::dynamic_body> &httpResponse);

    // 获取员工姓名
    void getName(std::string &data, http::request<http::dynamic_body> &httpRequest,
                 http::response<http::dynamic_body> &httpResponse);

    // 获取当前
    void getTime(std::string &data, http::request<http::dynamic_body> &httpRequest,
                 http::response<http::dynamic_body> &httpResponse);
};


#endif //YUNSHI_EMPLOYEECONTROLLER_H
